home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Surfer: Getting Started
/
Internet Surfer - Getting Started (Wayzata Technology)(7231)(1995).bin
/
pc
/
textfile
/
mac_faqs
/
obj_c
/
classes
next >
Wrap
Internet Message Format
|
1995-01-30
|
23KB
Xref: bloom-picayune.mit.edu comp.lang.objective-c:1012 news.answers:4555
Path: bloom-picayune.mit.edu!enterpoop.mit.edu!spool.mu.edu!olivea!sun-barr!cs.utexas.edu!bcm!aio!fdr!shirley
From: shirley@fdr.uucp (Bill Shirley [CSC])
Newsgroups: comp.lang.objective-c,news.answers
Subject: Objective-C Classes/Libraries Available - FAQ
Summary: A listing of Objective-C Class Libraries freely available,
bundled with other packages, or purchasable from 3rd parties.
Message-ID: <objc-classes_724237201@fdr.jsc.nasa.edu>
Date: 13 Dec 92 09:00:49 GMT
Expires: 26 Jan 1993 09:00:01 GMT
References: <objc_724237201@fdr.jsc.nasa.edu>
Sender: news@aio.jsc.nasa.gov (USENET News System)
Followup-To: comp.lang.objective-c
Organization: nasa-jsc
Lines: 519
Approved: news-answers-request@MIT.Edu
Supersedes: <objc-classes_721077644@fdr.jsc.nasa.edu>
Archive-name: Objective-C/classes
Last-modified: 1992/08/18
Version: 1.0
Objective C
A matter of Class
A (very incomplete) listing of available Objective-C classes
Index:
Stepstone Classes/Libraries
GNU Distributed Classes
Public Domain Classes
NeXT Distributed Classes
NeXT 3rd Party Classes
*Class* == Not a part of that kit
===========================
Stepstone Classes/Libraries
===========================
Bundled with the compiler is ICpak 101 - Foundation Class Library
(20 classes, more than 300 methods)
Object object - the runtime 'root' object'
Array array - an abstract class
IdArray id array - array of objects
IntArray integer array
AsciiFiler ASCII filer - an automatic I/O object
Cltn collection - an abstract class
OrdCltn ordered collection
Stack LIFO collection
Set Set collection - no duplicate members
Dictionary associations - a la symbol tables
BalNode balanced node - support for binary trees
SortCltn sorted collection
String string - null terminated ASCII sequence
Point point - 2D coordinate
Rectangle rectangle - 2D region
Assoc association - key/value pairs support for dictionaries
IPSequence in-place sequence - for sequencing through cltn
Sequence sequence - same as above but uses copy of data
ObjGraph object graph - graph of objects reachable
Unknown unknown - support for AsciiFiler
available separately for most systems, ICpak 201 - Graphical User Interface
(58 classes, more than 1100 methods)
*Object*
IntCltn
IntOrdCltn
PtrCltn
PtrOrdCltn
TransCltr
OpaqCltr
*Array*
ColorArray
ColorMap
ShortArray
PtrArray
RubberLine
EventQ
CharString
Quad
RectList
DispObject
SolidColor
DispText
DispMedium
[****] ....
Pattern
Cursor
EchoBox
Font
Menu
DepMenu
AdHocMenu
Timer
DepObject
SharObject
available for several platforms, ICpak 301 - GRAPHpak
[****]
=======================
GNU distributed classes
=======================
[****]
=====================
Public Domain classes
=====================
Random Class (sonata.cc.purdue.edu:/pub/next/oop/classes/Random2.0.tar.Z)
- implements its own random number generator, supports Gaussian
variables, die rolling, etc.
Julian Date (sonata.cc.purdue.edu:/pub/next/oop/classes/Julian1.1.tar.Z)
- implements Julian dates, conversions, etc. (NeXTSTEP)
[****]
========================
NeXT distributed Classes
========================
+ == only in NeXTSTEP Release 3 (may follow kit name for all objects in kit)
Root Class
==========
Object the root class
Common Classes
==============
Some classes of general utility, that don't belong to any kit.
*Object*
Storage object that stores a list of items (various types)
List object that stores a list of other objects
HashTable key-based storage object
StreamTable used for writing sets of data to streams
NXStringTable stores a set of strings accessible by key
Application Kit (AppKit)
========================
The first kit, used for implementing the framework and user interface of
(nearly) every NeXTSTEP application. Provides an engine that handles
the event loop, connection to the Window Server, and handles many standard
services. Includes classes for user controls, font and color management, a
text editor, a dynamic data link system (release 3), inter-application
communication, and several standard panels.
*Object*
Responder abstract class for objects that respond to events
Application an application's "engine"; handles event loop & more
Window manages an independent drawing area on the screen
Panel special subclass of Window
Menu manages array of command items that can be picked
PopUpList pop-up list of items that can be picked
FontPanel std Panel for selecting Fonts
PrintPanel std printing Panel:choose printer, resolution, etc
PageLayout std page layout Panel
SavePanel std save Panel
OpenPanel std open Panel
NXColorPanel std color-picker Panel
NXHelpPanel + std help Panel
NXDataLinkPanel + std Panel for managing dynamic data links
View manages a drawing area within a Window
Control abstract class for UI objects (buttons, etc)
NXBrowser hierarchical browser of items (like a filesystem)
Matrix manages a group of Cells (eg, a set of radio buttons)
Form a Matrix of FormCells (text entry areas with titles)
Button your basic push-button doodad
TextField displays text or allows the user to edit it
Slider slide its knob to change its value
Scroller used for scrolling long documents
NXColorWell used for representing a color selection
Text std object for editing text (ascii or RTF)
Box used to group other Views in a box
NXSplitView used for a pair of Views that share screen space
ScrollView manages relation between a ClipView and Scrollers
ClipView used for View that's larger than its onscreen area
Cell rubber-stamp class for drawing in a View
NXBrowserCell used for the items in an NXBrowser
SelectionCell performs some of NXBrowserCell's functionality (obs)
ActionCell used with Controls (or a set with a Matrix)
FormCell displays a title and a text-entry area in a Form
ButtonCell used for drawing Buttons
MenuCell used for drawing Menu items
TextFieldCell used for drawing text-entry/display areas
SliderCell used for drawing a slider bar
Pasteboard used for cut/copy/paste and much, much, more
NXImage convenient image-drawer; handles much nitty detail
NXImageRep abstract class used with NXImage for specific images
NXBitmapImageRep NXImageRep for bitmaps (for example, TIFF)
NXEPSImageRep NXImageRep for PostScrip images
NXCustomImageRep NXImageRep for user-defined images
NXCachedImageRep NXImageRep for already-rendered images
NXDataLink + represents a dynamic data link in a document
NXDataLinkManager + manages all the data links in a document
NXSelection + represents the linked data in a source document
NXCursor std object for displaying various cursors
Font object representing a PostScript font
FontManager manages the Fonts in an application
NXColorPicker + for creating a custom color picker in the color Panel
NXColorList + manages a list of named colors (eg, Pantone(R))
PrintInfo contains information about a print job
NXSpellChecker + used to access spell-checking services
NXSpellServer + allows 3rd party to provide a custom spell-checker
Speaker sends inter-application messages
Listener receives inter-application messages
NXJournaler records and plays back events and sounds
Video Class +(was in AppKit for Release 2)
===========
Displays video input to a NeXTdimension board on screen.
*Object*
NXLiveVideoView displays video input to a NeXTdimension board
Sound Kit
=========
The Sound Kit is a set of classes for managing sound in a NeXTSTEP application.
*Object*
Sound represents a single sound
*Responder*
*View*
SoundView used to display and edit sounds
SoundMeter used to indicate sound volume as it plays
NXSoundStream + abstract class; manages a stream of sound data
NXPlayStream + plays sound data on an NXSoundOut object
NXRecordStream + records sound data from an NXSoundIn object
NXSoundDevice + abstract class; represents a device (mic, speaker)
NXSoundIn + represents sound input devices (microphones)
NXSoundOut + represents sound output devices (speakers etc)
Music Kit # (no longer maintained by NeXT)
==========================================
A large kit for music synthesis. <<Should be available by ftp from CCRMA>>
(ccrma-ftp.stanford.edu:pub/???)
*Object*
Note stores information about a musical event
Envelope control musical attributes of Notes
Part ordered set of Notes than can be performed
Score set of Parts that make up a musical piece
ScorePerformer plays each Part in a Score
ScoreRecorder records a Score, Part by Part and Note by Note
Orchestra manages a DSP to synthesize music
Conductor controls the timing of a group of objects
Instrument manages Notes in a performance
SynthInstrument synthesizes its Notes on the DSP
PartRecorder copies its notes onto a Part object
FileWriter writes its notes to a file on disk
NoteFilter modifies Notes and passes them on to other objects
Performer abstract class; sends a sequence of notes in time
FilePerformer performs music data from a file or stream
ScorefilePerformer performs music data from a scorefile
PartPerformer performs the Notes in a Part
NoteReceiver used by Instruments to realize Notes from Performers
NoteSender used by Performers to realize Notes on Instruments
TuningSystem represents a musical tuning system
SynthData represents DSP memory used in music synthesis
Midi provides and ObjC interfact to the MIDI driver
WaveTable represents a period of sound as a series of samples
Samples builds WaveTable of recorded samples
Partials builds WaveTable from sine wave components
PatchTemplate used as part of a SynthPatch
SynthPatch abstract class; represents a sound sythesis module
Pluck synthesizes the sound of a plucked string
Wave1 WaveTable synthesis; 1 table
Wave1v WaveTable synth; 1 table with vibrato
Wave1i WaveTable synth; 1 table with freq interpolation
Wave1vi WaveTable synth; 1 table with both
DBWave1v WaveTable synth; 1 table with vibrato
DBWave1i WaveTable synth; 1 table with interpolation
DBWave2vi WaveTable synth; 2 tables with both
Fm1 Freq modulation synth; simple fm
Fm1i Freq mod synth; simple fm with freq interpolation
Fm1v Freq mod synth; simple fm with vibrato
Fm1vi Freq mod synth; simple fm with both
Fm2cvi Freq mod synth; Cascade fm
Fm2cnvi Freq mod synth; Cascade fm with random mod. (noise)
Fm2pvi Freq mod synth; Parallel fm
Fm2pnvi Freq mod synth; Parallel fm with noise
UnitGenerator abstract class; building blocks of DSP synthesis
Add2UG Various types of UnitGenerators
AllPass1UG ...
AsympUG
ConstantUG
DelayUG
DswitchtUG
DswitchUG
InterpUG
Mul1add2UG
Mul2UG
OnepoleUG
OnezeroUG
OscgafUG
OscgafiUG
UscgUG
Out1aUG
Out1bUG
Out2sumUG
ScaleUG
Scl1add2UG
Scl2add2UG
SnoiseUG
UnoiseUG
Database Kit (DBKit) +
======================
Manages connections to entity-relationship database servers. The Database kit
includes these services: communication with client-server databases, modeling
properties (attributes and relationships) of each database, record management
and buffering, data flow between record managers and the application user
interface, and user interface objects for display and editing.
*Object*
DBDatabase represents a connection to a database server
DBExpression encapsulates a database expression as an object
DBQualifier represents cond. records must satisfy to be selected
DBValue stores a value of an arbitrary type
DBBinder connects database items to ObjC objects
DBModule maps database model entities to application objects
DBRecordStream represents a sequence of fetched database records
DBRecordList supports random access to a seq. of records
DBFetchGroup manages DBRecordList data with UI presentation
DBAssocation associates a property with a destination object
*Responder*
*View*
*Control*
DBImageView displays an NXImage object in a frame
*ScrollView*
DBTableView spreadsheet-like view for modifying tables of data
DBTableVector represents a field in a DBTableView
DBFormatter abstract class for formatting data
DBTextFormatter quickly formats read-only text data
DBEditableFormatter formats editable text data
DBImageFormatter formats, scales, and aligns image data
Indexing Kit (IXKit) +
======================
The Indexing Kit is a set of programmatic tools for managing data, especially
the large amounts of data characteristic of information-intensive applications.
Much as the Application Kit provides a framework for a graphical interface,
the Indexing Kit provides a framework for data management.
*Object*
IXStore relocatable storage allocator/manager
IXStoreFile disk-based IXStore
IXStoreBlock "wrapper" for a single block of storage in an IXStore
IXStoreDirectory allows access to objects in an IXStore by name
IXBTree associative (key-based) access to data in an IXStore
IXBTreeCursor a pointer to an item in an IXBTree
IXPostingCursor cursor that assumes data is sets of postings (below)
IXRecordManager manages large indexed collections of data
IXPostingSet manages a set of postings (refs to indexed records)
*List*
IXPostingList lazily retrieves objects from postings
IXFileFinder indexes and finds files with a general query language
IXFileRecord represents a file in the filesystem
IXAttributeParser parses text into lists of tokens
IXAttributeReader breaks text into tokens
IXLanguageReader abstract class; for tokenizing a specific language
IXWeightingDomain represents frequency information about a set of text
IXAttributeQuery processes a query against a conforming object
Mach Kit +
==========
The Mach Kit provides a number of classes for convenient use of Mach mutexes,
and a number of classes used by the Distributed Objects facility.
*Object*
NXData wrapper for (void *) data
NXLock object-oriented mutex lock
NXConditionLock as above, but waits on a condition
NXRecursiveLock as above, but same thread can acquire multiple times
NXSpinLock as above, for use with short critical sections
NXProtocolChecker restricts messaging access to remote objects
NXInvalidationNotifier notifies clients when a connection breaks
NXPort wrapper for a Mach port
NXNetNameServer provides ObjC interface to NeXT's NetNameServer
Distributed Objects Facility +
==============================
The Distributed Objects facility allows a process to send messages to objects
in the address space of a different process. For all practical purposes, the
remote object exists in the sending process. Nearly any message can be sent,
and many data types, including other objects can be sent and received
"across the wire."
NXProxy a "root" class that represents a remote object
*Object*
NXConnection manages a connection between remote objects
Phone Kit +
===========
The Phone Kit offers an easy way for a developer to connect an application to
a telephone line, to initiate and receive calls over the line, and to transmit
and receive data during a call. The phone line must be attached to the user's
computer, or to a computer on the user's network, through a Hayes ISDN
Extender(R) or an equivalent device.
*Object*
NXPhone represents a phone line connected to the computer
NXPhoneCall represents/manages a connection over a phone line
NXPhoneChannel represents a channel within a connection
3D Graphics Kit (3DKit) +
=========================
The 3D Kit uses RenderMan to create 3D scenes, much as the Application Kit
uses the PostScript language to draw 2D graphics. It also provides for
animation and real-time manipulation of rendered scenes.
*Object*
*NXImageRep*
N3DRIBImageRep NXImageRep for RenderMan RIB data
*Responder*
*Window*
*Panel*
N3DRenderPanel std Panel for selecting hosts to render scene on
*View*
N3DCamera renders a single 3D scene
N3DMovieCamera rederes a sequence of 3D scenes, providing animation
N3DShape abstract class representing a single 3D "object"
N3DLight represents a source of light in a scene
N3DShader handles surface shading/texturing/coloring
N3DRotator rotates/moves a 3D scene in various ways
N3DContextManager manages rendering contexts for an application
NetInfo Kit (NIKit) +
=====================
These are all standard panels for accessing NetInfo information. Strangely,
most aren't subclasses of Panel.
*Object*
NIDomain represents a NetInfo domain
NIDomainPanel std panel for selecting a NetInfo domain
NIOpenPanel std panel for opening an item in a domain
NISavePanel std panel for saving info for a domain
*Responder*
*Window*
*Panel*
NILoginPanel used, for example, to authorize root access to run an
app
Interface Builder Applicaton Classes (IB Classes) +
===================================================
These classes allow developers to expand the functionality of the
Interface Builder application, creating their own palettes of objects
that can be dragged into an interface, and inspectors to set and view
the attributes of those objects.
*Object*
IBInspector defines a custom Interface Builder inspector
IBPalette connects a loadable palette to Interface Builder
Preferences Application Classes +
=================================
These classes allow developers to add their own modules to the Preferences
application.
*Object*
Layout represents a Preferences module's layout view
Workspace Manager Application Classes +
=======================================
These classes allow developers to add their own file contents inspectors to
the Workspace Manager application.
*Object*
WMInspector represents a Workspace contents inspector
==============================
NeXT 3rd Party Class Libraries
==============================
[many others - NeXT now publishes an _Object Works_ Catalogue, which
tells of available classes]
BarCodeKit - an object library for creating bar codes in PostScript and
TIFF formats. (Hot Software, (617) 252-0088, info@hot.com)
SerialPortKit - generic serial port object, modem object, specific bar
code readers, magnetic stripe card readers and other serial
devices. (Hot Software, (617) 252 0088, info@hot.com)
GeoKit - objects that perform map rendering
(Deltos Fleet Computing, (214) 540-2301)
ChooserPalette - a selection list manager
(Objective Technologies, (212) 227 6767)
GraphPalette - tools for graphing data in custom apps
(Objective Technologies, (212) 227 6767)
MathPalette - tools for interfacing with Mathmatica
(Objective Technologies, (212) 227 6767)
SmartFieldPalette - supplies data input fields that restrict and format
input, report errors, and notify the user of field content
(Objective Technologies, (212) 227 6767)
Serial Solutions from BenaTong - Object wrappers for the UNIX ioctls, Modem
support and MagCard/BarCode reader support.
(BenaTong (614) 276-7850 benatong@count0.cmhnet.org)
--------------
This compendium is doomed to always be incomplete. If you would like
to add something to it that was left off, you can either contact me
directly (shirley@fdr.jsc.nasa.gov, Bill Shirley) or post to the group
comp.lang.objective-c. Contacting me directly will have better chances
of me making the change.
Again, thanks to all those who have helped, informed, and given feedback.
--
Bill Shirley
shirley@fdr.jsc.nasa.gov
--
``One lonesome body, Bill Shirley
one lonesome song. shirley@fdr.jsc.nasa.gov
No lonesome body,
no lonesome song.'' - throwing muses